/*
大文件传输测试，给服务器上传一个大文件，服务器将文件保存下来，观察处理结果
预期结果： 上传的文件，和服务器保存的文件一致
*/

#include "../source/http/http.hpp"

int main()
{
    Socket client_sock;
    client_sock.CreateClient(8080, "127.0.0.1");

    std::string req = "PUT /1234.txt HTTP/1.1\r\nConnection: keep-alive\r\n";
    std::string body;
    Util::ReadFile("./hello.txt", &body);
    req += "Content-Length: " + std::to_string(body.size()) + "\r\n\r\n";
    int ret = client_sock.Send(req.c_str(), req.size());
    if (ret < 0)
        client_sock.Close();
    assert(client_sock.Send(body.c_str(), body.size()) != -1);
    char buf[1024] = {0};
    ret = client_sock.Recv(buf, sizeof(buf) - 1);
    if (ret < 0)
        client_sock.Close();
    LOG(LogLevel::INFO) << buf;
    sleep(3);

    client_sock.Close();

    return 0;
}